.flex {
  display: flex;

  &-afe {
    display: flex;
    align-items: flex-end;
  }

  &-ac {
    display: flex;
    align-items: center;
  }

  &-juc {
    display: flex;
    justify-content: center;
  }

  &-jus {
    display: flex;
    justify-content: space-between;
  }

  &-around {
    display: flex;
    justify-content: space-around;
  }

  &-ju-al {
    display: flex;
    justify-content: center;
    align-items: center;
  }

  &-mid-bet {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  &-col {
    display: flex;
    flex-direction: column;

    &-mid {
      display: flex;
      flex-direction: column;
      align-items: center;
    }
  }

  &-row {
    display: flex;
    flex-direction: row;

    &-mid {
      display: flex;
      flex-direction: row;
      align-items: center;
    }

    &-end {
      display: flex;
      flex-direction: row;
      align-items: flex-end;
    }

    &-reverse {
      flex-direction: row-reverse;
    }
  }

  &-wrap {
    display: flex;
    flex-wrap: wrap;
  }
}

.pad_lr {

  &_20 {
    padding-left: 20px;
    padding-right: 20px;
  }

  &_30 {
    padding-left: 30px;
    padding-right: 30px;
  }

  &_40 {
    padding-left: 40px;
    padding-right: 40px;
  }

  &_50 {
    padding-left: 50px;
    padding-right: 50px;
  }

  &_60 {
    padding-left: 60px;
    padding-right: 60px;
  }
}

.pad_b {
  &_200 {
    padding-bottom: 200px;
  }
}

.blocks {
  display: block !important;
}

.box:after,
.box:before {
  content: "";
  display: block;
  clear: both;
  height: 0;
  overflow: hidden;
  visibility: hidden;
}

.border-box {
  box-sizing: border-box;
}

.overhide {
  overflow: hidden;
}

.userNoSel {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.bookTags {
  display: flex;
  overflow-x: hidden;

  .tag {
    color: #6F6F6F;
    font-size: 22px;
    height: 40px;
    line-height: 40px;
    border-radius: 20px;
    padding: 0 16px;
    background-color: #F8F8F8;
    flex-shrink: 0;
    margin-left: 20px;
  }
}

.is-over {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
  word-break: break-all;

  &-2 {
    text-overflow: -o-ellipsis-lastline !important;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    white-space: pre-wrap;
  }

  &-3 {
    text-overflow: -o-ellipsis-lastline;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    -webkit-box-orient: vertical;
  }

  &-4 {
    text-overflow: -o-ellipsis-lastline;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    -webkit-box-orient: vertical;
  }

  &-5 {
    text-overflow: -o-ellipsis-lastline;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 5;
    line-clamp: 5;
    -webkit-box-orient: vertical;
  }
}